#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int main()
{
    int n, i;
    char str[301];
    cout << "输入行数: ";
    cin >> n;
    cin.get(); // 读取多余的换行符
    while (n != 0)
    {
        // 打开文件，追加写入
        FILE *fp = fopen("test01.txt", "a+");
        // 打开文件，覆盖写入
        // FILE *fp = fopen("test01.txt","w+");
        if (fp == NULL)
        {
            cout << "打开文件失败!";
            exit(1); // 异常退出
        }
        
        for (i = 0; i < n; i++)
        {
            cin.getline(str, 301);    // 读取整行字符
            fprintf(fp, "%s\n", str); // 写入文件
        }

        // 读取文件
        // 先重新定位文件指针到文件开头
        fseek(fp, 0, SEEK_SET);
        cout << "当前文件内容为: " << endl;
        while (fgets(str, sizeof(str), fp) != NULL)
        {
            cout << str;
        }
        fclose(fp); // 关闭文件
        cout << "输入行数: ";
        cin >> n;  // 输入下一组字符串行数
        cin.get(); // 读取多余的换行符
    }
    return 0;
}
/*
2
第一组：111 11 111
第一组：222 22 222
3
第二组：aaa aa aaa
第二组：bbb bb bbb
第二组：ccc cc ccc
*/
